package skyhyun;

import java.util.Scanner;

public class J08_if {

	/**
	 * if - 조건 분기문 형식 if ( 조건문 ) { // 조건이 참일 때 실행할 문장 }
	 * 
	 * 	조건이 많아서 다중 선택을 해야 할 경우 else 문 다음에 if 문을 이어서 작성함
	 * 		if ( 조건식1 ) {
	 * 			문장 1;
	 * 		} else if ( 조건식2 ) {
	 * 			문장 2;
	 * 		}
	 * 
	 * 애매모호한 if 문
	 * 		if ( a > 0 || b < 5 ) 
	 * 			if ( a > 2 )										===> 상위 if 문에 블록이 없다
	 * 				System.out.println( "a > 2" )
	 * 			else												===> 가장 위에 있는 if문에 물려서 실행
	 * 				System.out.println( "a < 2" )
	 * 		else 문은 먼저 나온 if 문과 연관있음
	 * 		따라서, 이러한 애매모호함을 줄이려면 블록 기호 { } 를 적절하게 사용해야 함
	 */

	public static void main(String[] args) {
		// 문제 1 : 짝수 / 홀수 판단 프로그램
		// 짝수 : 어떤 수를 2로 나누었을 때 나머지가 0
		// 홀수 : 어떤 수를 2로 나누었을 때 나머지가 1
		int num = 35;
		if (num % 2 == 0) {
			System.out.println("이 숫자는 짝수입니다.");
		}
		System.out.println("이 숫자는 홀수입니다.");

		// 문제 2 : 성별 확인 프로그램
		// 임의의 숫자가 1 이면 : 2000년 이전 출생 남자
		// 임의의 숫자가 2 이면 : 2000년 이전 출생 여자
		// 임의의 숫자가 3 이면 : 2000년 이후 출생 남자
		// 임의의 숫자가 4 이면 : 2000년 이후 출생 여자

		int jumin = 2;
		if (jumin == 1) {
			System.out.println("2000년 이전 출생 남자");
		} else if (jumin == 2) {
			System.out.println("2000년 이전 출생 여자");
		} else if (jumin == 3) {
			System.out.println("2000년 이후 출생 남자");
		} else {
			System.out.println("2000년 이후 출생 여자");
		}

		// 문제 3 : 학점 계산 프로그램
		// 평균점수가 90 ~ 100 : 수
		// 평균점수가 80 ~ 89 : 우
		// 평균점수가 70 ~ 79 : 미
		// 평균점수가 60 ~ 69 : 양
		// 평균점수가 0 ~ 59 : 가
		float avg = 98.5f;
		if (avg >= 90 && avg <= 100) {			
			System.out.println("수");					
		} else if (avg >= 80) {				 
			System.out.println("우");
		} else if (avg >= 70) {
			System.out.println("미");
		} else if (avg >= 60) {
			System.out.println("양");			
		} else {								// 마지막 조건은 검사할 필요가 없기 때문에 if 문을 제거
			System.out.println("가");
		}
		//	if 문내 문장이 하나뿐이라면 블록 기호는 생략가능
		// if (avg >= 70 && avg < 80)
		// 		System.out.println("미");
		// 심지어 if 조건식과 문장을 같은 줄에 작성 가능
		// if (avg >= 70 && avg < 80) System.out.println("미");
		
		// 문제 4 : 간단한 계산기 프로그램
		// 임의의 두 수와 산술연산자 중 하나를 이용해서 적절한 수식을 계산하고 결과를 출력
		// 예 ) 10, 30, *   =>   10 * 30
		// 예 ) 123, 23, %   =>   123 % 23
		int num1 = (int)(Math.random()*100);
		int num2 = (int)(Math.random()*100);
		float result = 0.0f;
		Scanner sc = new Scanner(System.in);
		System.out.print("진행할 연산 기호를 입력하세요 : ");
		String oper = sc.next();
		if (oper.equals("+")) {
			result = num1 + num2;
			System.out.println("num1 = " + num1 + "\t" + "num2 = " + num2 + "\t" + "연산기호 : " + oper);
			System.out.println("두 수의 덧셈 결과 result = " + result);
		} else if (oper.equals("-")) {
			result = num1 - num2;
			System.out.println("num1 = " + num1 + "\t" + "num2 = " + num2 + "\t" + "연산기호 : " + oper);
			System.out.println("두 수의 뺄셈 결과 result = " + result);
		} else if (oper.equals("*")) {
			result = num1 * num2;
			System.out.println("num1 = " + num1 + "\t" + "num2 = " + num2 + "\t" + "연산기호 : " + oper);
			System.out.println("두 수의 곱셈 결과 result = " + result);
		} else if (oper.equals("/")) {
			result = num1 / num2;
			System.out.println("num1 = " + num1 + "\t" + "num2 = " + num2 + "\t" + "연산기호 : " + oper);
			System.out.println("두 수의 나눗셈 결과 result = " + result);
		} else if (oper.equals("%")) {
			result = num1 % num2;
			System.out.println("num1 = " + num1 + "\t" + "num2 = " + num2 + "\t" + "연산기호 : " + oper);
			System.out.println("두 수의 나머지 연산 결과 result = " + result);
		}
	}
}
